﻿using System.Collections.Generic;
using HawaiRestaurant.Models.DataContext;

namespace HawaiRestaurant.Models.Repositories
{
    public interface IHawaiiRestaurantRepository
    {
        #region Management Position

        IEnumerable<Position> FetchAllPosition();

        Position GetPosition(int positionId);

        void AddPosition(Position position);

        void DeletePosition(Position position);

        #endregion

        #region Management Food Type

        IEnumerable<FoodType> FetchAllFoodType();

        FoodType GetFoodType(int foodTypeId);

        void AddFoodType(FoodType foodType);

        void DeleteFoodType(FoodType foodType);

        #endregion

        #region Management Drink Type

        IEnumerable<DrinkType> FetchAllDrinkType();

        DrinkType GetDrinkType(int drinkTypeId);

        void AddDrinkType(DrinkType drinkType);

        void DeleteDrinkType(DrinkType drinkType);

        #endregion

        #region Management Drink 

        IEnumerable<Drink> FetchAllDrink();

        Drink GetDrink(int drinkId);

        void AddDrink(Drink drink);

        void DeleteDrink(Drink drink);

        #endregion

        #region Management Food

        IEnumerable<Food> FetchAllFood();

        Food GetFood(int foodId);

        void AddFood(Food food);

        void DeleteFood(Food food);

        #endregion

        #region Manager Staff

        IEnumerable<Staff> FetchAllStaff();

        Staff GetStaff(int staffid);

        void AddStaff(Staff staff);

        void DeleteStaff(Staff staff);

        #endregion

        #region Manager Customer

        IEnumerable<Customer> FetchAllCustomer();

        Customer GetCustomer(int customerid);

        void AddCustomer(Customer customer);

        void DeleteCustomer(Customer customer);

        #endregion

        #region Manager User

        void AddUser(User user);

        void DeleteUser(User user);

        #endregion

        void Save();
    }
}